-
임베디드 해킹
- 펌웨어 추출하고 분석하는 것으로 시작
- abnormal action이 취약점인지는 상황에 따라 다를 수 있다!
-
command injection
- stdin으로 들어온 인자가 system 함수로 들어 가면서 임의 명령어 실행
- 유저 권한인 경우 취약점 아님
- 취약점인지는 sandboxing 정책이나 root에 따라 다름
-
memory corruption
- 취약점인지는 abort 되더라도 상황에 따라 다름
- tee, trustzone, SGX : 루트 권한일 때도 보호해줘야 할 수 있다!
-
펌웨어 보호 로직 존재
- 보호 기능 적용 시 비용 증가하고 성능 저하함
- RF(Radio Frequency) 통신
-
스마트 차량 취약점
- OBD2 : 차량 상태 검사, 블루투스
- CAN : 라디오 통신
- ECU engine control unit
- gps, lte 등
-
스마트 홈 취약점
- 도어락, 무인 택배, 엘레베이터, 조명/난방, 카메라 등
- 동 게이트웨이 제어
- 공용시설 제어
-
카드 포스 단말기 취약점
- 금융, 개인 정보
- 환불 등 거래 조작
- 연결된 PC 해킹
-
복합기기 취약점
- 탈취, 변조
- 문서 위변조
- 팩스 보내기
- 클라우드 전송도 가능
-
스마트 TV 취약점
- 카메라
- 유료 결제
- TV 내 어플리케이션
- 브라우저(pc버전에서 브라우저 취약점 발견하고 스마트TV에서 바로 조치하기 어려움)
-
냉장고 취약점
- 방화 : 프레온 가스 폭발?
-
동적 디버깅
-
에뮬레이팅 필요
- 그외 요소들도 맞춰줘야 해서 동적 디버깅 환경 구성이 매우 어려움
-
- 프리다, 하우스(프리다 매핑 하우스) : 동적 분석 도구
-
JTAG : HW gdb라고 볼 수 있다.
-
JTAG 등 디버그 포트 제외하고 출시하여 해킹 방지하기도 함
-
모든 디버그 포트 막을 시 사후 분석 리스크 존재
- 디버그 불가 시 교체하는 방법뿐
-
-
-
임베디드 칩의 데이터시트 내용 따라서 신호 교환
- 제 3의 기기가 신호 교환을 할 수 있어 이를 이용해 임베디드 해킹할 수 있음
-
디솔더링 후 덤프 시 데이터 이상한 경우
- 덤프를 잘못한 경우 등
- binwalk : 펌웨어 분석 도구
- Return Oriented Programming(ROP)
- heap exploit : 잘 찾기 (매우)어려움, 성과를 내려고 할 때 잘 안씀
- fuzzing(fuzzer) : 취약점 분석 도구
-
차상길 교수님 : fuzzer 정형화 논문
- 메이헴 개발(데프콘 출전)
- IDA : 디스어셈블러
- JEB : 디컴파일러
-
하우스로 인증서 우회하는 스크립트를 통해 앱 해킹
- 해킹하는 스크립트 자동으로 생성
- 프리다로도 모두 가능(다만 세팅이 필요함)
-
후킹(영어: hooking)은 소프트웨어 공학 용어로, 운영 체제나 응용 소프트웨어 등의 각종 컴퓨터 프로그램에서 소프트웨어 구성 요소 간에 발생하는 함수 호출, 메시지, 이벤트 등을 중간에서 바꾸거나 가로채는 명령, 방법, 기술이나 행위를 말한다.
- : https://ko.wikipedia.org/wiki/후킹
- ptrace : https://ko.wikipedia.org/wiki/Ptrace
- LD_PRELOAD
- tcp 분석만으로 해킹 가능
- SDR(Software-Defined Radio)
-
diff : 컴퓨터에서 diff 는 두 개의 파일 간 차이에 대한 정보를 출력하는 파일 비교 유틸리티이다.
- 해킹 시 실제 동작과 패킷을 바꿔가며 확인하여 수행
- 암호화 통신으로 방지
- 난독화 : 소프트웨어 단에서 해독 가능
-
임베디드 기기의 키를 숨기는 문제 ← 공격 대상
-
임베디드가 인터넷에 연결 안된 경우
- PKI 방식 사용 불가
- 키를 메모리에 저장해야 함
-
-
임베디드 보안 공격을 막기는 어렵다.
- 취약점이 발견되기 마련!
- 하드웨어 해킹 자료 : https://www.hackerschool.org/SubHtml/HSPosting/?uid=46
- RCE(Remote Code Execution)
IoT 해킹 기초
2020-07-07